package com.example.myandroidapp.kotlin

/*
* 类的继承:
* 1:被继承类及方法：open:
* Kotlin 默认所有类都是 final 的（不可继承）,  必须使用 open 修饰符使类可继承  ,  方法也必须标记为 open 才能被重写。
*
* 2:继承的类：父类(参数):
* 子类必须调用父类的主构造函数,  如果父类没有主构造，子类必须显式调用父类的次构造
*
* 3:重写父类方法：override
*
* 4:使用父类相关属性及方法：super.属性、super.方法()
*
*/

fun main() {
    val sub = Sub("子类参数")
    sub.show()
}

open class Base(val name: String) {
    open fun show() {
        println("Base show:$name")
    }
}

class Sub(name: String) : Base(name) {
    override fun show() {
        super.show()
        println("Sub show:$name")
    }
}